#ifndef _HERO_
#define _HERO_
#include <string>
#include "Item.h"
#include "Sword.h"
#include "Point.h"

using namespace std;

class Hero{
private:
	string name;
	bool hasItem;
	signed int health;
	signed int maxHealth;
	signed int damage;
	signed int level;
	int experience;
	int gold;
	Point location;


public:
	Hero(string name, int startingHealth, int startXLocation, int startYLocation);
	void levelUp();
	string getName();
	signed int getHealth();
	signed int getMaxHealth();
	signed int getDamage();
	signed int getLevel();
	void heal();
	void takeDamage(int dmg);
	void endGame();
	void useSword(Sword* sword);
	void layDownSword(Sword* sword);
	bool enhanceSword(Sword* sword);
	bool isHoldingItem();
	int getExperience();
	void addExperience(int reward);
	int getGold();
	void addGold(int deposit);
	bool subtractGold(int withdrawl);
	Point getLocation();
	void setLocation(Point p);
	int getXLocation();
	int getYLocation();
	void moveHeroAxis(Point* p);
	
};



#endif